package collection;

import java.util.*;

public class CollectionToArrayDemo {
    public static void main(String[] args) {
        Collection<String> c =new ArrayList<>();
        c.add("123");
        c.add("123");
        System.out.println(c);

        String[] arr =c.toArray(new String[1]);
        //如果输入的长度小于集合的长度，也会自动创建一个数组并且将元素放进去
        //一般情况直接写(集合.size)
        System.out.println(Arrays.toString(arr));

        //ailist方法可以将数组转换为list集合，并且无法进行增删操作，但是可以使用set
        // Collections.addAll（集合，数组）的方法也可以将数组转为集合，但是可以进行增删操作
        String[] str={"123","321","999"};
//        List list =new ArrayList();
//        Collections.addAll(list,str);
        //list.add("666");
        List list =Arrays.asList(str);


        //若希望集合进行增删操作，需要用新的集合去装旧的集合，addAll（）
        List<String> list1 = new ArrayList<>(list);
        list1.add("555");

        System.out.println(list1);
//        for (int i=0;i<list1.size();i++){
//            System.out.println(list1.get(i));
//        }
//
//        for (String list2:list1){
//            System.out.println(list2);
//        }
      //  list1.set(0,"666");
      //  String e =list1.set(0,"666");//替换当前位置的元素数据，返回值为被替换的数据
     //   System.out.println(e);

        for (int i=0;i<list1.size()/2;i++){
            String str1= list1.get(i);
            str1=list1.set(list1.size()-1-i,str1);
            list1.set(i,str1);
          //  list1.set(i,list1.set(list1.size()-1-i, list1.get(i)));
        }
       // Collections.reverse(list1);//倒序输出
        System.out.println(list1);

        list1.add(2,"666");
        System.out.println(list1);

        System.out.println(list1.remove(2));//删除当前位置的元素，返回值为被删除的值
        System.out.println(list1);

        list1.subList(1,3);//截取集合中的部分元素，返回值为一个子集合，操作子集合会影响原集合

        System.out.println( list1.subList(1,3).set(0,"555"));
        System.out.println(list1);

    }
}
